package com.jc.service.exampleapp.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;

import java.time.LocalDateTime;

/**
 * 示例应用实体类
 * 对应数据库表 example_app
 */
@TableName("example_app")
public class ExampleApp {
    
    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.INPUT)
    private String id;

    /**
     * 租户ID
     */
    private String tenantId;
    
    /**
     * 应用名称
     */
    private String name;
    
    /**
     * 应用编码
     */
    private String code;
    
    /**
     * 应用域名
     */
    private String domain;
    
    /**
     * 是否激活状态
     */
    @TableField("is_active")
    private Boolean isActive;
    
    /**
     * 创建时间
     */
    @TableField("created_at")
    private LocalDateTime createdAt;
    
    /**
     * 更新时间
     */
    @TableField("updated_at")
    private LocalDateTime updatedAt;
    
    /**
     * 删除时间
     */
    @TableField("deleted_at")
    private LocalDateTime deletedAt;
    
    /**
     * 删除标识（逻辑删除）
     */
    @TableLogic
    private Boolean deleted;
    
    /**
     * 无参构造函数
     */
    public ExampleApp() {
    }
    
    /**
     * 获取ID
     * @return ID
     */
    public String getId() {
        return id;
    }
    
    /**
     * 设置ID
     * @param id ID
     */
    public void setId(String id) {
        this.id = id;
    }
    
    /**
     * 获取应用名称
     * @return 应用名称
     */
    public String getName() {
        return name;
    }
    
    /**
     * 设置应用名称
     * @param name 应用名称
     */
    public void setName(String name) {
        this.name = name;
    }
    
    /**
     * 获取应用编码
     * @return 应用编码
     */
    public String getCode() {
        return code;
    }
    
    /**
     * 设置应用编码
     * @param code 应用编码
     */
    public void setCode(String code) {
        this.code = code;
    }
    
    /**
     * 获取应用域名
     * @return 应用域名
     */
    public String getDomain() {
        return domain;
    }
    
    /**
     * 设置应用域名
     * @param domain 应用域名
     */
    public void setDomain(String domain) {
        this.domain = domain;
    }
    
    /**
     * 获取激活状态
     * @return 激活状态
     */
    public Boolean getIsActive() {
        return isActive;
    }
    
    /**
     * 设置激活状态
     * @param isActive 激活状态
     */
    public void setIsActive(Boolean isActive) {
        this.isActive = isActive;
    }
    
    /**
     * 获取创建时间
     * @return 创建时间
     */
    public LocalDateTime getCreatedAt() {
        return createdAt;
    }
    
    /**
     * 设置创建时间
     * @param createdAt 创建时间
     */
    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }
    
    /**
     * 获取更新时间
     * @return 更新时间
     */
    public LocalDateTime getUpdatedAt() {
        return updatedAt;
    }
    
    /**
     * 设置更新时间
     * @param updatedAt 更新时间
     */
    public void setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
    }
    
    /**
     * 获取删除时间
     * @return 删除时间
     */
    public LocalDateTime getDeletedAt() {
        return deletedAt;
    }
    
    /**
     * 设置删除时间
     * @param deletedAt 删除时间
     */
    public void setDeletedAt(LocalDateTime deletedAt) {
        this.deletedAt = deletedAt;
    }
    
    /**
     * 获取删除标识
     * @return 删除标识
     */
    public Boolean getDeleted() {
        return deleted;
    }
    
    /**
     * 设置删除标识
     * @param deleted 删除标识
     */
    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    /**
     * 获取租户ID
     * @return 租户ID
     */
    public String getTenantId() {
        return tenantId;
    }

    /**
     * 设置租户ID
     * @param tenantId 租户ID
     */
    public void setTenantId(String tenantId) {
        this.tenantId = tenantId;
    }

    /**
     * 获取激活状态（别名方法）
     * @return 激活状态
     */
    public Boolean getActive() {
        return isActive;
    }

    /**
     * 设置激活状态（别名方法）
     * @param active 激活状态
     */
    public void setActive(Boolean active) {
        isActive = active;
    }
}